Information processing apparatus having printer driver and sheet parameter setting method for printer driver

ABSTRACT

It is necessary to switch print settings and color processing tables to optimum ones in accordance with a type of sheet which is used in a printer. In the case of enabling a new sheet to be used, a setting can be easily added without newly forming a whole printer driver. Print set information regarding the new sheet is set into a media script and fetched into a media block via a compiler. Control is made so as to store the print set information from a media database API into a media database. When the new sheet is selected on a driver display screen, the media database is searched from the media database API and print data is formed on the basis of the print set information.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to an information processing apparatus having aprinter driver and a sheet parameter setting method for the printerdriver and, more particularly, to a method for allowing a printer driverto newly use sheet parameter information adapted to a new media.

2. Related Background Art

Hitherto, there is software called a printer driver which is installedinto a computer and converts data that is outputted by applicationsoftware into a command train that can be interpreted by a printer.

In the case of performing color printing by a printer of an ink jettype, the printer driver needs to switch various parameters such asprinting method, resolution, color processing table, and the like inaccordance with media (type of paper) as a print target so that anoptimum print result can be obtained. For this purpose, a parametergroup depending on those media is installed in the printer driver,proper parameters are selected from it in accordance with the mediaselected by the user, and the printing is executed.

Since the parameter group to be used has previously been installed inthe printer driver as mentioned above, in the case of adding a newmedia, the printer driver itself needs to be updated.

SUMMARY OF THE INVENTION

It is an object of the invention to realize addition, replacement,deletion, or the like of a media without changing a printer driver mainbody by raising a degree of freedom of handling of a parameter groupwhich depends on the media, that is, by making the parameter groupindependent of the printer driver main body.

To accomplish the above object, according to the invention, there isprovided a printer driver for forming print data to a designated printerin accordance with a request of application software, comprising:holding means which has a structure that can be accessed independentlyof the printer driver main body and holds print set informationaccording to a type of sheet that is necessary when the print data isformed; obtaining means for, when it receives a print instruction fromthe application software, obtaining the print set informationcorresponding to the instructed sheet type from the holding means; andforming means for forming the print data on the basis of the print setinformation obtained by the obtaining means, wherein the holding meanshas an input unit for adding and changing the print set information fromthe outside.

According to the invention, there is provided a sheet parameter settingmethod comprising: a forming step of forming information regarding aprint setting according to a type of sheet which can be used by aprinter; a converting step of converting the formed print setinformation into a format which is used by a printer driver of theprinter; a fetching step of fetching the converted print set informationinto a database in which the print set information of each sheet of theprinter driver has been stored; and a forming step of searching theselected print set information of the sheet from the database andforming print data on the basis of the print set information.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a printer driver to which the invention isapplied;

FIG. 2 is a block diagram showing a data structure of a media DB;

FIG. 3 is a block diagram showing a data structure of a media block;

FIG. 4 is a diagram showing a user interface of a printer driver towhich the invention is applied;

FIG. 5 is a diagram showing a media script of a certain media;

FIG. 6 is a flowchart at the time of obtaining a list of media IDs and acharacter string of a name;

FIG. 7 is a flowchart at the time of obtaining parameters correspondingto a certain media;

FIG. 8 is a flowchart for explaining the operation for obtaining a colorprocessing table; and

FIG. 9 is a block diagram showing the data structure of the media blockat the time of adding and deleting a media.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

FIG. 1 is a diagram most preferably showing a feature of the inventionand is a block diagram of a printer driver to which the invention isapplied. In the diagram, reference numeral 11 denotes a media scriptconstructed by: a script serving as a text file describing processingparameters corresponding to one certain media (recording sheet); and acolor processing table in which data that is used for a color convertingprocess or the like has been stored. One media script 11 is preparedevery type of media. Reference numeral 12 denotes a compiler forconverting the media script 11 into a media block 13 as binary data; 14a database managing tool which is used for adding the media block 13 asbinary data to a media database (hereinafter, referred to as a media DB)15 serving as a database main body; and 16 an API (ApplicationProgramming Interface) for reading out parameters corresponding to apredetermined media from the media DB 15 by an instruction of a printerdriver main body 17. In the ordinary printing operation, the printerdriver is constructed by the printer driver 17, the media DB API 16, andthe media DB 15.

FIG. 2 is a block diagram showing a data structure of the media DB 15.Reference numeral 21 denotes a header in which a signature, a date/time,a version, and the like of the media DB 15 have been stored; and 22 to24 indicate media blocks 13 including the parameters of the mediadefined in the media DB 15 and they correspond to different types ofmedia, respectively. For example, reference numeral 22 denotes the mediablock in which information of plain paper has been stored; 23 the mediablock in which information of coating paper has been stored; 24 themedia block in which information of a glossy paper has been stored; and25 a terminal showing a termination of the media DB 15.

FIG. 3 is a block diagram showing a data structure of the media block13. Reference numeral 31 denotes a media ID as ID information allocatedevery type of media; 32 information of a name (character string) of themedia which is used in the user interface of the printer driver; 33information of a paper feed port through which the media can be fed; 34information of a paper delivery port through which the media can bedelivered; and 35 to 37 parameters of print quality corresponding to themedia. In this media, it is shown that three types of print quality A,B, and C can be selected. Reference numeral 38 denotes information ofresolution of data which is used in the print quality A35; likewise, 41and 43 information of resolution of data which is used in thecorresponding print quality B36 and C37; and 39 and 40 informationregarding halftone processes which are used in the print quality A35. Itis shown here that two kinds of halftone processing methods of ahalftone process A and a halftone process B can be selected in the printquality A35. Likewise, reference numerals 42 and 44 denote informationregarding halftone processing methods which are used at thecorresponding print quality, respectively. Reference numeral 45 denotesa color processing table which is used when the print quality A35 andthe halftone process A39 are designated. This table includes: a3-dimensional LUT (Look Up Table) in which data for converting a colorspace RGB of a computer serving as a host computer into a color spaceCMY of the printer has been stored; and various tables in which datathat is used in color processes such as density adjustment, brightnessadjustment, and the like has been stored. Similarly, reference numerals46, 47, and 48 denote color processing tables which are used when theprint quality A and the halftone process B are selected, when the printquality B and the halftone process A are selected, and when the printquality C and the halftone process A are selected, respectively.

FIG. 4 is a diagram showing an example of the user interface of theprinter driver to which the invention is applied and shows a displayexample of a print setting display screen of the host computer.Reference numeral 51 denotes a pulldown menu for selecting the mediatype; 52 a pulldown menu for selecting the paper feeding method; 53 apulldown menu for selecting the paper delivering method; 54 a column forselecting the print quality. This column has three kinds of selectingitems “high-speed print”, “standard print”, and “high-quality print”;and 55 a column for selecting the halftone processing method. Thiscolumn has two kinds of selecting items “error diffusion” and “patterndither”.

To set the parameters of the media into the printer driver, first, themedia script 11 corresponding to the media to be supported is formed byan external computer or the like. FIG. 5 shows an example of a mediascript of a certain media (plain paper). S01 denotes a line fordesignating the media ID 31. S02 denotes a line for designating thecharacter string of the name 32 and “plain paper” is described here. S03denotes a line for designating the paper feeding method 33 and “cassettepaper feed” and “manual paper feed” are described here. S04 denotes aline for designating the paper delivering method and “standard paperdelivery” is described here. S05 to S10 designate the parameters shownon the right side from the print quality A35 in FIG. 3. S06 denotes theresolution 38 and 300 dpi is designated here. S07 denotes the halftoneprocess A39 and error diffusion is designated here. S08 denotes thecolor processing table 45 and a binary file put in a certain location isdesignated here. In a manner similar to the above, S11 to S14 designatethe parameters shown on the right side from the print quality B36 andS15 to S19 designate the parameters shown on the right side from theprint quality C37.

As mentioned above, the media script 11 for one certain media is formedand converted into the media block 13 by using the compiler 12.Subsequently, the media block 13 is implemented into the media DB 15 byusing the database managing tool 14. By repeating those processes, aplurality of media blocks 13 to be supported are implemented as shown inFIG. 2. In this example, three types of media blocks 13 of “plainpaper”, “coating paper” and “glossy paper” have been installed.

The compiler 12 and the DB managing tool 14 can be executed by the useror can be also executed from the printer driver.

When the printer driver 17 is activated, it obtains a list of the mediaIDs 31 of the sheets to be supported by itself from the media DB 15 byusing the media DB API 16.

FIG. 6 is a flowchart for processes of the printer driver 17 which areexecuted when the list of the media IDs and the character string of thename are obtained. In the diagram, the printer driver 17 opens the mediaDB 15 as a target via the media DB API 16 in step F10 and searches allof the media IDs 31 registered in the media DB 15 in F11. Subsequently,the character string of the name corresponding to each media ID 31 isobtained in F12. Finally, the media DB 15 is closed and the processingroutine is finished. The driver displays the name of the media obtainedin this manner into the menu 51 of the media type of the user interfacein FIG. 4.

When the user selects an arbitrary media type 51 on the display screenof FIG. 4, the printer driver 17 obtains the parameter groupcorresponding to the media from the media DB 15 via the media DB API 16.

FIG. 7 is a flowchart for explaining the operation of the driver at thetime of obtaining the parameters corresponding to a certain media. Inthe flowchart, the driver 17 opens the media DB 15 as a target via themedia DB API 16 in F20 and obtains the information of the paper feedingmethod corresponding to the media ID 31 in F21. Since two parameters“cassette paper feed” and “manual paper feed” have been defined in themedia script in FIG. 5, two types of selecting items are displayed ontothe paper feeding method menu 52 of the user interface of the driver onthe basis of such information. Subsequently, the information of thepaper delivering method corresponding to the media ID 31 is obtained inF22. Since only “standard paper feed” has been defined in the mediascript in FIG. 5, one type of selecting item is displayed onto the paperdelivering method menu 53 of the user interface of the driver on thebasis of such information. Subsequently, the information of the printquality corresponding to the media ID 31 is obtained in F23. Since threetypes of parameters “print quality A”, “print quality B”, and “printquality C” have been defined in the media script in FIG. 5, three typesof selecting items “high-speed print”, “standard print”, and“high-quality print” are validated in the print quality 54 of the userinterface of the driver on the basis of such information. Subsequently,the information of the resolution corresponding to the media ID 31 isobtained in F24. Subsequently, the information of the halftoneprocessing method corresponding to the media ID 31 is obtained in F25.Since two types of parameters “error diffusion” and “pattern dither”have been defined in the media script in FIG. 5 with respect to “printquality A”, two types of selecting items “error diffusion” and “patterndither” are validated in the halftone process 55 of the user interfaceof the driver on the basis of such information. Since only “errordiffusion” has been defined for “print quality B”, only “errordiffusion” is validated in the halftone process 55 of the user interfaceof the driver. Gray-out of the selecting item “Pattern dither” isperformed and this item cannot be selected. Finally, the media DB 15 isclosed in F26 and the processing routine is finished. In accordance withthe parameter group obtained here, the user interface of FIG. 4 isdisplayed and the user makes arbitrary print setting to an arbitrarymedia.

When all print settings are completed and the user starts the printingby clicking an OK button, the printer driver 17 obtains a tablenecessary when a color process is executed to the print data.

FIG. 8 is a flowchart for explaining the operation for obtaining thecolor processing table by the driver. In the diagram, the driver 17opens the media DB 15 via the media DB API 16 in F30. Subsequently, inF31, the driver 17 obtains the information of one of the colorprocessing tables 45 to 48 corresponding to the media type designated bythe menu 51, the print quality designated by the selection column 54,and the halftone process designated by the selection column 55. Finally,the media DB 15 is closed in F32 and the processing routine is finished.

As described above, the printer driver 17 obtains the various parametersregarding the media from the media DB 15 and executes the printing.

Second Embodiment

Subsequently, an example in the case of adding a media to the media DB15 or deleting a specific media will be described.

First, as described in the first embodiment, the media script 11corresponding to the new media to be added is prepared. It is nowassumed that “OHP film” is added as a new media. A script and a colorprocessing table regarding “OHP film” are formed by a computer or thelike and they are converted into the media block 13 by using thecompiler 12.

FIG. 9 is a block diagram showing the data structure of the media DB 15in the case of adding and deleting a media and shows an example in thecase where a media block 26 of “OHP film” is added to and the mediablock 23 of “coating paper” is deleted from the data structure of themedia DB 15 shown in FIG. 2.

The media block 26 of the formed new media is added to the media DB 15by using the DB managing tool 14. The DB managing tool 14 disconnects alink of a pointer set from the media block 24 of “glossy paper” to theterminal 25 so far and inserts the media block 26 of “OHP film” intosuch a link. The link of a pointer set from the media block 26 of “OHPfilm” to the terminal 25 is set. In the case of deleting the media block23 of “coating paper” as an unnecessary media, a link of a pointer ofthe media block 22 of “plain paper” so far is disconnected and it isnewly connected to a link of a pointer to the media block 24 of “glossypaper”.

By executing the above processes, when the printer driver 17 obtains thelist of the media IDs 31 included in the media DB 15 next time, threetypes of media “plain paper”, “glossy paper”, and “OHP paper” can beobtained. Therefore, the contents of the selecting item 51 of the mediatype in FIG. 4 can be changed without changing the printer driver 17 atall.

The invention can be applied to a system constructed by a plurality ofdevices (for example, a host computer, an interface device, a reader, aprinter, and the like) or can be also applied to an apparatus (forexample, a copying apparatus, a facsimile apparatus, or the like)comprising one device.

The object of the invention is also accomplished by a method whereby amemory medium (or a recording medium) in which program codes of softwarefor realizing the functions of the embodiments mentioned above have beenrecorded is supplied to a system or an apparatus and a computer (or aCPU or an MPU) of the system or the apparatus reads out and executes theprogram codes stored in the memory medium.

In this case, the program codes themselves read out from the memorymedium realize the functions of the embodiments mentioned above and theprogram codes themselves and the memory medium in which the programcodes have been stored construct the invention.

The invention incorporates not only a case where a computer executes theread-out program codes, so that the functions of the embodimentsmentioned above are realized but also a case where an operating system(OS) or the like which is operating on the computer executes a part orall of actual processes on the basis of instructions of the programcodes and the functions of the embodiments mentioned above are realizedby those processes.

Further, the invention incorporates a case where the program codes readout from the memory medium are written into a memory provided for afunction expanding card inserted into a computer or a function expandingunit connected to a computer, thereafter, a CPU or the like provided forthe function expanding card or the function expanding unit executes apart or all of actual processes on the basis of instructions of theprogram codes, and the functions of the embodiments mentioned above arerealized by those processes.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the appended claims.

As described above, according to the invention, by providing thedatabase for storing the print set information per sheet independent ofthe printer driver main body; a process such as addition, replacement,deletion, or the like of the sheet which is supported by the printerdriver can be freely changed without changing the printer driver itself,so that the work regarding the updating of the driver can be efficientlyexecuted.

1. An information processing apparatus having a printer driver forforming print data to a designated printer in accordance with a requestof application software, comprising: holding means which has a structurethat can be accessed independently of said printer driver main body andholds print set information according to a type of sheet that isnecessary when the print data is formed; obtaining means for, when itreceives a print instruction from said application software, obtainingthe print set information corresponding to the instructed sheet typefrom said holding means; and forming means for forming the print data onthe basis of the print set information obtained by said obtaining means,wherein said holding means has an input unit for adding and changing theprint set information from an outside.
 2. An apparatus according toclaim 1, wherein said holding means holds the print set information byan independent data block every sheet.
 3. An apparatus according toclaim 2, wherein said print set information includes identificationinformation of the sheet and information indicative of optimum printquality setting, halftone processing method, and color processing table.4. An apparatus according to claim 2, wherein said print set informationincludes information showing a paper feeding method and a paperdelivering method of the sheet.
 5. An apparatus according to claim 1,wherein said print set information held in said holding means can bedeleted every sheet.
 6. A sheet parameter setting method comprising: aforming step of forming information regarding a print setting accordingto a type of sheet which can be used by a printer; a converting step ofconverting the formed print set information into a format which is usedby a printer driver of said printer; a fetching step of fetching theconverted print set information into a database in which the print setinformation of each sheet of said printer driver has been stored; and aforming step of searching the selected print set information of thesheet from said database and forming print data on the basis of theprint set information.